package persistencia;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Properties;

import excepciones.PersistenciaException;

public class LectorParametros {
		
		private String rutaArchivo;
		private String urlBase;
		private String usuarioBase;
		private String contraseniaBase;
		private String driverBase;
		private int cantConexiones;
		private int nivelTransaccionalidad;
		
		public LectorParametros(String ruta)
		throws PersistenciaException {	
//		/*
			Properties prop = new Properties();	
		  	try {
		 
				this.rutaArchivo = ruta;				
				InputStream isr = this.getClass().getResourceAsStream("/" + ruta);
				if (isr != null){
				  InputStreamReader isrProperties = new InputStreamReader(isr);
				  prop.load(isrProperties);				
				}				
				
				//FileInputStream fis = new FileInputStream("datos.txt");
				//prop.load(fis);
				this.urlBase = prop.getProperty("urlBase");
				this.usuarioBase = prop.getProperty("usuarioBase");
				this.contraseniaBase = prop.getProperty("contraseniaBase");
				this.driverBase = prop.getProperty("driverBase");
				this.cantConexiones = Integer.parseInt(prop
						.getProperty("cantConexiones"));
				this.nivelTransaccionalidad = Integer.parseInt(prop
						.getProperty("nivelTransaccionalidad"));
			} catch (FileNotFoundException ex) {
				System.out.println(ex.getMessage());
				throw new PersistenciaException(ex.getMessage());
			} catch (IOException ex) {
				System.out.println(ex.getMessage());
				throw new PersistenciaException(ex.getMessage());
		}
		}


		/**
		 * @return the rutaArchivo
		 */
		public String getRutaArchivo() {
			return rutaArchivo;
		}


		/**
		 * @param rutaArchivo the rutaArchivo to set
		 */
		public void setRutaArchivo(String rutaArchivo) {
			this.rutaArchivo = rutaArchivo;
		}


		/**
		 * @return the urlBase
		 */
		public String getUrlBase() {
			return urlBase;
		}


		/**
		 * @param urlBase the urlBase to set
		 */
		public void setUrlBase(String urlBase) {
			this.urlBase = urlBase;
		}


		/**
		 * @return the usuarioBase
		 */
		public String getUsuarioBase() {
			return usuarioBase;
		}


		/**
		 * @param usuarioBase the usuarioBase to set
		 */
		public void setUsuarioBase(String usuarioBase) {
			this.usuarioBase = usuarioBase;
		}


		/**
		 * @return the contraseniaBase
		 */
		public String getContraseniaBase() {
			return contraseniaBase;
		}


		/**
		 * @param contraseniaBase the contraseniaBase to set
		 */
		public void setContraseniaBase(String contraseniaBase) {
			this.contraseniaBase = contraseniaBase;
		}


		/**
		 * @return the driverBase
		 */
		public String getDriverBase() {
			return driverBase;
		}


		/**
		 * @param driverBase the driverBase to set
		 */
		public void setDriverBase(String driverBase) {
			this.driverBase = driverBase;
		}


		/**
		 * @return the cantConexiones
		 */
		public int getCantConexiones() {
			return cantConexiones;
		}


		/**
		 * @param cantConexiones the cantConexiones to set
		 */
		public void setCantConexiones(int cantConexiones) {
			this.cantConexiones = cantConexiones;
		}


		/**
		 * @return the nivelTransaccionalidad
		 */
		public int getNivelTransaccionalidad() {
			return nivelTransaccionalidad;
		}


		/**
		 * @param nivelTransaccionalidad the nivelTransaccionalidad to set
		 */
		public void setNivelTransaccionalidad(int nivelTransaccionalidad) {
			this.nivelTransaccionalidad = nivelTransaccionalidad;
		}


	}
